// app.js

//请求方法
import http from './utils/js/request'
//正则表达式验证
import regExp from './utils/js/regExp'
//全局提示框
import tips from './utils/js/tips'

App({
  onLaunch() {
    // 自定义标题栏
    const _this = this
    // 获取系统信息
    // const systemInfo = wx.getSystemInfoSync()
    // 胶囊按钮位置信息
    const menuButtonInfo = wx.getMenuButtonBoundingClientRect()
    // 导航栏高度 = 胶囊距离上部距离 + 胶囊高度 + 胶囊距离下部距离
    _this.globalData.navBarHeight = menuButtonInfo.top + menuButtonInfo.height + menuButtonInfo.bottom + 15
    // 导航栏文字位置
    _this.globalData.navBarTop = menuButtonInfo.top + menuButtonInfo.height / 2 + 8
    // 返回箭头位置
    _this.globalData.navBarBackTop = menuButtonInfo.height - 2

    //判断是否能用这个api
    if (wx.canIUse('getUpdateManager')) {
      //创建updateManager实例
      const updateManager = wx.getUpdateManager()
      //检查是否有新版本
      updateManager.onCheckForUpdate(function (res) {
        //hasUpdate指是否有新版本，为boolean值
        if (res.hasUpdate) {
          updateManager.onUpdateReady(function () {
              wx.showModal({
                title: '更新提示',
                content: '新版本已经准备好，是否重启应用？',
                success: function (res) {
                  if (res.confirm) {
                    //强制更新版本
                    updateManager.applyUpdate()
                  }
                }
              })
            }),
            updateManager.onUpdateFailed(function () {
              wx.showModal({
                title: '已经有新版本了',
                content: '新版本已经上线啦~，请您删除当前小程序，重新搜索打开'
              })
            })
        }
      })
    } else {
      wx.showModal({
        title: '提示',
        content: '当前微信版本过低，无法使用该功能，请升级到最新版本后重试。'
      })
    }
  },
  //全局参数
  globalData: {
    navBarHeight: 0, // 导航栏高度
    navBarTop: 0, // 导航栏文字位置
    navBarBackTop: 0, //返回按钮距离顶部位置
    topList: [], //首页菜单
    bottomList: [], //底部菜单
  },
  //注册全局请求方法
  request: {
    get: http.get,
    post: http.post,
    baseUrl: http.baseUrl,
  },
  //正在表达式验证
  regExp: {
    validateCreditCode: regExp.validateCreditCode,
    validateBankCardNumber: regExp.validateBankCardNumber,
    validateIdNumber: regExp.validateIdNumber,
    validatePhone: regExp.validatePhone,
    validateTelPhone: regExp.validateTelPhone,
    validateEmail: regExp.validateEmail,
    validateNumber: regExp.validateNumber,
    validateInteger: regExp.validateInteger,
    validateRealNumber: regExp.validateRealNumber,
    validatePassword: regExp.validatePassword,
    validatePassword2: regExp.validatePassword2
  },
  //全局提示框
  tips: {
    toast: tips.toast,
    success: tips.success,
    error: tips.error,
    loading: tips.loading,
    clearToast: tips.clearToast,
    clearLoading: tips.clearLoading,
  }
})